package JTable;

import javax.swing.*;
import java.awt.*;
import java.util.Vector;
import javax.swing.table.DefaultTableModel;
/**
 * @Description:JavaTable的调试
 * @Author:AMark
 * @Date: 12/5/2023
 */
public class Front {
    //定义一个表格，从指定文件中读取数据，添加一个按钮，点击按钮后，将数据添加一行到表格中并在界面中显示
    private JFrame frame;
    private JTable table;
    private JButton button;
    private JScrollPane scrollPane;
    Vector vdata = new Vector();
    Vector vcoldata = new Vector();
    private int count = 0;

    Front(){
        frame = new JFrame("JavaTable");
        frame.setSize(500,500);
        //定义表格的列名
        vcoldata.add("姓名");
        vcoldata.add("年龄");
        vcoldata.add("性别");
        vcoldata.add("地址");
        vcoldata.add("电话");
        //定义表格的数据
        Vector vrow = new Vector();
        vrow.add("张三");
        vrow.add("20");
        vrow.add("男");
        vrow.add("北京");
        vrow.add("123456");
        vdata.add(vrow);
        //定义表格
        DefaultTableModel model = new DefaultTableModel(vdata, vcoldata);
        table = new JTable(model);
        //定义滚动面板
        scrollPane = new JScrollPane(table);
        //定义按钮
        button = new JButton("添加");
        //添加按钮的监听事件
        button.addActionListener(e -> {//按下按钮以后向表格中添加一行数据，然后刷新表格
            //添加一行数据
            Vector vrow1 = new Vector();
            vrow1.add("李四");
            vrow1.add("20");
            vrow1.add("男");
            vrow1.add("北京");
            vrow1.add("123456");
            vdata.add(vrow1);
            //刷新表格
            table.updateUI();
        });
        //将滚动面板和按钮添加到窗体中
        frame.add(scrollPane,BorderLayout.CENTER);
        frame.add(button,BorderLayout.SOUTH);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setLayout(new FlowLayout());
        frame.setVisible(true);

    }

    public static void main(String[] args) {
        new Front();
    }
}
